home *** CD-ROM | disk | FTP | other *** search
- //: C11:Reference.cpp
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // Simple C++ references
-
- int* f(int* x) {
- (*x)++;
- return x; // Safe; x is outside this scope
- }
-
- int& g(int& x) {
- x++; // Same effect as in f()
- return x; // Safe; outside this scope
- }
-
- int& h() {
- int q;
- //! return q; // Error
- static int x;
- return x; // Safe; x lives outside scope
- }
-
- int main() {
- int a = 0;
- f(&a); // Ugly (but explicit)
- g(a); // Clean (but hidden)
- } ///:~
-